
interface IPerson {
    name: string
    age: number
    readonly height: number
    address?: string
}


// 修饰符 为 readonly 和 ？
// 修饰符 符号 + -  //为 - 删除  -？ 就是必选


// Partial 源码
// 即是 只读也是可选的
type MapPerson<T> = {
    -readonly [P in keyof T]-?: T[P]
}

type NewPerson = MapPerson<IPerson>

export { }